home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
- # Make /etc/fstab standard compliant.
- # M.Weller (eowmob@exp-math.uni-essen.de) 13.11.1994.
- # This script is public domain. Still if only slightly
- # modified a credit to me might be nice.
-
- ROOT_PASS=1 # Pass for root file system
- NON_ROOT_PASS=2 # Pass for non root file systems
- DEF_FLAGS="defaults" # Default filesysflags
- DEF_DUMP=0 # Default dumpfreq.
-
- while read LINE
- do
- set -- $LINE
- if [ $# != 0 ]
- then
- case $1 in
- \#* | !* )
- echo "$LINE"
- # Actually there are no comments allowed in /etc/fstab
- echo "Warning: comment in /etc/fstab detected." >&2
- echo "Please remove it by hand." >&2
- ;;
- * )
- if [ $# -gt 6 -o $# -lt 3 ]
- then
- echo "Don't have a clue about \"$LINE\"." >&2
- echo "$LINE"
- else
- case $2 in
- / )
- PASS=$ROOT_PASS
- ;;
- none )
- PASS=0
- ;;
- * )
- PASS=$NON_ROOT_PASS
- ;;
- esac
- DUMP=$DEF_DUMP
- case $3 in
- ignore | iso9660 | msdos | hpfs | sysv | \
- xenix | coherent | nfs | proc | sw | swap )
- DUMP=0;
- PASS=0;
- ;;
- esac
- case $# in
- 3 )
- echo "$LINE $DEF_FLAGS $DUMP $PASS"
- ;;
- 4 )
- echo "$LINE $DUMP $PASS"
- ;;
- 5 )
- echo "$LINE $PASS"
- ;;
- 6)
- echo "$LINE"
- ;;
- esac
- fi
- ;;
- esac
- else
- echo "Warning: One empty line removed." >&2
- fi
- done </etc/fstab >/tmp/newfstab.$$
- mv -f /etc/fstab /etc/fstab.bak
- mv -f /tmp/newfstab.$$ /etc/fstab
- if [ $? != 0 ]
- then
- echo "Installation of patched /etc/fstab failed."
- echo "It would have been:"
- cat /tmp/newfstab.$$
- rm -f /tmp/newfstab.$$
- fi
-